package myrule;

import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RandomRule;
import com.netflix.loadbalancer.RoundRobinRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 自定义负载均衡策略
 *
 * 这个自定义的配置类不能放在@ComponentScan所扫描的当前包及子包下（即Application启动类），
 * 否则我们自定义的这个配置类就会被所有的Ribbon客户端所共享，也就是说我们不能
 * 达到特殊化定制的目的。
 *
 * @ClassName MyselfRule
 * @Description TODO
 * @Author LSL
 * @Date 2019/8/24 12:37
 * @Version 1.0
 * @Email lsl.yx@foxmail.com
 **/
@Configuration
public class MyselfRule {

    @Bean
    public IRule myRule() {
//        return new RoundRobinRule(); // 轮询
        return new RoundRobbinRule_SL(); // 轮询 x 3
    }
}
